#ifndef SYSTEM_CONFIG_H
#define SYSTEM_CONFIG_H
#include <stdio.h>
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
/*各个任务的优先级*/
#define ARCH_OS_NATIVE_PRIORITY_DEFAULT (configMAX_PRIORITIES -1)

//用户处理时候的OTA任务,优先级最高
#define TASK_PROP_OTA  	  (ARCH_OS_NATIVE_PRIORITY_DEFAULT)

//处理串口数据优先级次高
#define TASK_PROP_UART  	  (ARCH_OS_NATIVE_PRIORITY_DEFAULT-1)

//网络相关任务优先级最高
#define TASK_PROP_NET (ARCH_OS_NATIVE_PRIORITY_DEFAULT-1)

//UI显示任务优先级第3高
#define TASK_PROP_DISPLAY (ARCH_OS_NATIVE_PRIORITY_DEFAULT-2)

//处理缓存区数据优先级第3高
#define TASK_PROP_CACHE (ARCH_OS_NATIVE_PRIORITY_DEFAULT-2)

//底层驱动及信号检测的优先级第4
#define TASK_PROP_DRIVER (ARCH_OS_NATIVE_PRIORITY_DEFAULT-3)

//app逻辑处理任务的优先级排第4
#define TASK_PROP_APP (ARCH_OS_NATIVE_PRIORITY_DEFAULT-3)

//同IOT平台的交互,任务优先级排第5
#define TASK_PROP_IOTTALK (ARCH_OS_NATIVE_PRIORITY_DEFAULT-4)




/**/
#define APP_LOGIC_SIZE 4096
#define CACHE_LOGIC_SIZE 5120
#define LIGHT_EFFECT_LOOP_SIZE 3072
#define SENSOR_DECT_SIZE 2048
#define UART_SZIE 3072
#define WIFI_LOGIC_SIZE 4096
#define SPI_DISPALY_SIZE 4096
#define TCP_LOGIC_SZIE 3072
#define REPORT_LOGIC_SZIE 4096
#define PWM_LOGIC_SIZE 3072

/*定义方便识别的 类型 */
typedef uint8_t     u8;
typedef int8_t      s8;
typedef uint8_t     vu8;
typedef char        uc8;

typedef uint16_t    u16;
typedef int16_t     s16;
typedef uint16_t    vu16;
typedef int16_t     vs16;
typedef uint16_t    uc16;

typedef uint32_t    u32;
typedef uint64_t u64;
typedef uint32_t    uc32;
typedef uint32_t    vu32;
typedef int32_t     s32;


#endif